package com.zliblike_platform.entity;

import lombok.Data;

import java.time.LocalDateTime;

/**
 * 用户实体类，对应USERS表
 */
@Data
public class User {
    /**
     * 用户ID
     */
    private Long userId;
    
    /**
     * 电子邮箱
     */
    private String email;
    
    /**
     * 密码（加密存储）
     */
    private String passwordHash;
    
    /**
     * 昵称
     */
    private String nickname;
    
    /**
     * 账户等级（初级、高级）
     */
    private String accountLevel;
    
    /**
     * 每日下载限制次数
     */
    private Integer dailyDownloadLimit;
    
    /**
     * 头像
     */
    private String avatar;
    
    /**
     * 隐私状态（公开、私密）
     */
    private String privacyStatus;
    
    /**
     * 创建时间
     */
    private LocalDateTime createdAt;
    
    /**
     * 最后登录时间
     */
    private LocalDateTime lastLogin;
    
    /**
     * 以下是原有字段，保留以确保兼容性
     */
    private String username;
    
    /**
     * 头像URL
     */
    private String avatarUrl;
    
    /**
     * 用户等级（1: 普通用户, 2: VIP用户, 3: 管理员）
     */
    private Integer level;
    
    /**
     * 用户积分
     */
    private Integer points;
    
    /**
     * 用户角色（ROLE_USER, ROLE_VIP, ROLE_ADMIN）
     */
    private String role;
    
    /**
     * 更新时间
     */
    private LocalDateTime updatedAt;
    
    /**
     * 账号是否启用
     */
    private Boolean enabled;
    
    // 兼容方法
    public Long getId() {
        return userId;
    }
    
    public void setId(Long id) {
        this.userId = id;
    }
    
    public String getPassword() {
        return passwordHash;
    }
    
    public void setPassword(String password) {
        this.passwordHash = password;
    }
} 